package com.ctshk.rpc.order.air.dto;

import com.ctshk.rpc.order.air.req.orderDetail.AirOrderInsuranceData;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 机票订单旅客信息
 * </p>
 *
 * @author lihang
 * @since 2021-03-15
 */
@Data
@ApiModel(value="AirOrderTouristInfoDTO对象", description="订单详情旅客DTO")
public class AirOrderTouristInfoDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "旅客唯一标识id")
    private Long id;

    @ApiModelProperty(value = "旅客类型")
    private Integer touristType;

    @ApiModelProperty(value = "旅客凭证JSON")
    private String touristCertificateJson;

    @ApiModelProperty(value = "旅客姓",required = true)
    private String surname;

    @ApiModelProperty(value = "旅客名",required = true)
    private String name;

    @ApiModelProperty(value = "旅客姓名",required = true)
    private String touristName;

    @ApiModelProperty(value = "性别",required = true)
    private Integer gender;

    @ApiModelProperty(value = "出生日期",required = true)
    private LocalDate birthday;

    @ApiModelProperty(value = "证件有效期至",required = true)
    private LocalDate vaildDate;

    @ApiModelProperty(value = "证件号码",required = true)
    private String certificatesNumber;

    @ApiModelProperty(value = "证件类型",required = true)
    private String certificatesType;

    @ApiModelProperty(value = "证件类型ID",required = true)
    private Long certificatesTypeId;

    @ApiModelProperty(value = "联系手机区号id",required = true)
    private Long contactMobileAreaCodeId;

    @ApiModelProperty(value = "联系手机区号",required = true)
    private String contactMobileAreaCode;

    @ApiModelProperty(value = "联系手机",required = true)
    private String contactMobile;

    @ApiModelProperty(value = "称谓(1:先生;2:女士;3:小姐;4:男童;5:女童)",required = true)
    private Integer appellation;

    @ApiModelProperty(value = "会员号")
    private String vipNumber;

    @ApiModelProperty(value = "旅客保险信息")
    List<AirOrderInsuranceData> airOrderInsuranceDataList;

    @ApiModelProperty(value = "旅客航班信息")
    List<AirOrderTouristFlightDTO> airOrderTouristFlightDTOList;
}
